# -*- coding: UTF-8 -*-

numbers = [5, 2, 4, 3, 1, 6, 7, 8, 9, 10]
length = len(numbers)
last = length

while 1 == 1:
    swapFlag = False # 记录是否交换过
    for i in range(length - 1):
        for j in range(length - i - 1):

            """
            如果如果第一个比第二个大，就交换它们的位置。 【顺序】
            倒序反之：如果第一个比第二个小，就交换它们的位置。
            """

            if numbers[j] > numbers[j + 1]:
                numbers[j], numbers[j + 1] = numbers[j + 1], numbers[j]
                last = j + 1
                swapFlag = True

        if length != last:
            length = last
            break

    if not swapFlag: # 已经没有数据可以交换了。直接退出。
        break

print(numbers)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
